/**
 * 版权所有(C)，上海勾芒信息科技，2017，所有权利保留。
 * 
 * 项目名：	cards-web
 * 文件名：	WxPayCustomData.java
 * 模块说明：	
 * 修改历史：
 * 2017年7月3日 - Debenson - 创建。
 */
package com.alex.insistence.rest.util;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
 * 微信支付自定义数据
 * 
 * @author Debenson
 * @since 0.1
 */
public class WxPayCustomData {
  public static final int BIZ_TYPE_IMPREST_ORDER = 0;
  public static final int BIZ_TYPE_GIFT_ORDER = 1;

  private Integer bizType;
  private String bizData;

  public WxPayCustomData() {
  }

  public WxPayCustomData(int bizType) {
    this(bizType, null);
  }

  public WxPayCustomData(int bizType, String bizData) {
    this.bizType = bizType;
    this.bizData = bizData;
  }

  public Integer getBizType() {
    return bizType;
  }

  public void setBizType(Integer bizType) {
    this.bizType = bizType;
  }

  public String getBizData() {
    return bizData;
  }

  public void setBizData(String bizData) {
    this.bizData = bizData;
  }

  @Override
  public String toString() {
    return toJson();
  }

  private static final ObjectMapper mapper = new ObjectMapper();

  public String toJson() {
    try {
      return mapper.writeValueAsString(this);
    } catch (JsonProcessingException e) {
      throw new RuntimeException(e);
    }
  }

  public static WxPayCustomData fromJson(String json) {
    try {
      return mapper.readValue(json, WxPayCustomData.class);
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }

}
